package com.topisv.tms.entity.log;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.topisv.tms.entity.IdEntity;
import com.topisv.tms.entity.User;

/**
 * 订单日志_实体类
 */
@Entity
@Table(name = "order_log")
public class OrderLog extends IdEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private String orderno;
	
	private String customerCode;
	
	/**
	 * 操作类型 （1.创建批次 2.创建任务 3.拣货完成 4.包装完成 5.发货完成 
	 * 6.签收完成 7.异常登记 8.完成灯光拣选任务 9.打印单据 
	 * 10.取消单 11.异常单重发 12.取消单拦截标识 13.登记异常单 
	 * 14.退回单收货 15.退回单质检 16.退回单入库 17.登记异常单））
	 */
	private String operateType;
	
	private User operater;
	
	private Date operateTime;
	
	private String aboutCode;
	
	private String aboutInfo;
	private String synchStatus;//订单日志同步状态

	public String getOrderno() {
		return orderno;
	}
	
	public OrderLog(){
		
	}
	

	/**
	 * 订单日志构造函数
	 * @param orderno 订单号
	 * @param customerCode 商家编码
	 * @param operateType操作类型 （操作类型 （1.创建批次 2.创建任务 3.拣货完成 4.包装完成 5.发货完成 6.签收完成
								7.异常登记 8.完成灯光拣选任务 9.打印单据 10.取消单 11.异常单重发 12.取消单拦截标识 13.登记异常单 
								14.退回单收货 15.退回单质检 16.退回单入库 17.登记异常单  18打印发票））
	 * @param operater 操作人
	 * @param opearteTime 操作时间
	 * @param aboutCode 相关单号
	 * @param aboutInfo 相关信息
	 */
	public OrderLog(String orderno, String customerCode, String operateType,
			User operater, Date operateTime, String aboutCode, String aboutInfo) {
		this.orderno = orderno;
		this.customerCode = customerCode;
		this.operateType = operateType;
		this.operater = operater;
		this.operateTime = operateTime;
		this.aboutCode = aboutCode;
		this.aboutInfo = aboutInfo;
	}



	public void setOrderno(String orderno) {
		this.orderno = orderno;
	}

	public String getCustomerCode() {
		return customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public String getOperateType() {
		return operateType;
	}

	public void setOperateType(String operateType) {
		this.operateType = operateType;
	}

	@ManyToOne
	@JoinColumn(name="operater_jobuuid", referencedColumnName="jobuuid")
	public User getOperater() {
		return operater;
	}

	public void setOperater(User operater) {
		this.operater = operater;
	}
	
	public Date getOperateTime() {
		return operateTime;
	}

	public void setOperateTime(Date operateTime) {
		this.operateTime = operateTime;
	}

	public String getAboutCode() {
		return aboutCode;
	}



	public void setAboutCode(String aboutCode) {
		this.aboutCode = aboutCode;
	}



	public String getAboutInfo() {
		return aboutInfo;
	}

	public void setAboutInfo(String aboutInfo) {
		this.aboutInfo = aboutInfo;
	}

	public String getSynchStatus() {
		return synchStatus;
	}

	public void setSynchStatus(String synchStatus) {
		this.synchStatus = synchStatus;
	}
	

}